package eva.savant.business.contabilidad.view

import eva.savant.business.contabilidad.service.TSContabilidad
import eva.savant.businessobject.cg.*
import eva.savant.businessobject.gl.*
import eva.savant.core.view.Bean

import javax.faces.convert.Converter

public class TCaja extends Bean {

  Date dateIni, dateEnd

  TSContabilidad tsContabilidad

  public void clean(String tipo) {

    if(dateIni==null) dateIni = dateEnd= new Date()

    tsContabilidad= (TSContabilidad) getSpringBean('tsContabilidad')


    entity= new Flujocaja(); init()

    entity.tipo= tipo

    entity.fecha= new Date()

    entity.cuenta= new Cuenta()

    entity.persona= new Persona()

    entity.cajero= get(Cajero,'usuario.persona.id=?',usuario.persona.id)

    if(entity.cajero == null) addErrorMessage 'El usuario actual no es cajero'
  }

  public List findLsEntity() {

    dateIni= toStartDay(dateIni); dateEnd= toMidnight(dateEnd);

    return find(Flujocaja,'tipo=? and fecha between ? and ? order by fecha', entity.tipo, dateIni, dateEnd)
  }

  public void editEntity(Object id) {

    entity= get(Flujocaja, id)
  }

  public boolean mergeEntity(Object entity) {

    return tsContabilidad.mergeFlujocaja((Flujocaja)entity)
  }

  public List complete(String value) { return completeLike(Persona,'nombre',value) }

  public Converter getConverter() { return converterLike(Persona) }

  public List completeCuenta(String value) { return completeLike(Cuenta,'tipo= 0 and nombre',value) }

  public Converter getConverterCuenta() { return converterLike(Cuenta) }

}